Many modern computers have a parallel structure in which several identical processors are capable of performing tasks on incoming instructions and/or data. The parallel structure can handle high instruction and/or data bandwidths if the various tasks are independent. To perform some of the tasks, the processors can access shared resources. Frequently, the shared resources include a data storage device.
According to one aspect, a integrated circuit includes a random-access memory (RAM) storage and a controller both located on the same semiconductor chip. The controller is coupled to read data from and write data to the RAM storage. The controller is programmable to perform bitwise operations on data words stored in the RAM.